# -*- coding:utf-8 -*-

# 识别测试,将验证码图片放到项目根目录下,用pytesseract库识别该验证码,
import pytesseract
from PIL import Image

image = Image.open('../images/zhiwang.jpg')
# result = pytesseract.image_to_string(image)
# print(result)
'''
新建了一个Image对象,调用了pytesseract的image_to_string方法,传入该Image对象,即可完成识别.
结果为: S56W6, 识别和实际结果有偏差,因为验证码内的多余线条干扰了图片的识别.
'''

# 2. 验证码处理
'''
利用Image对象的convert方法参数传入L,即可将图片转化为灰度图像.
传入1即可将图片进行二值化处理。
'''
image = image.convert('L')
threshold = 135
table = []
for i in range(256):
    if i < threshold:
        table.append(0)
    else:
        table.append(1)

image = image.point(table,'1')
result = pytesseract.image_to_string(image)
print(result)

# 针对一些有干扰的图片,做一些灰度和二值化处理,可以提高图片识别的正确率.

